package com.ruoyi.medical.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 设备基本信息对象 meioms_device
 * 
 * @author ruoyi
 * @date 2025-12-03
 */
@TableName("meioms_device")
public class MeiomsDevice extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 设备ID */
    @TableId
    private Long deviceId;

    /** 设备名称 */
    @Excel(name = "设备名称")
    private String deviceName;

    /** 品牌型号 */
    @Excel(name = "品牌型号")
    private String brandModel;

    /** 设备类型ID */
    @Excel(name = "设备类型ID")
    private Long typeId;

    /** 生产日期 */
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productionDate;

    /** 购买日期 */
    @Excel(name = "购买日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date purchaseDate;

    /** 设备序列号 */
    @Excel(name = "设备序列号")
    private String serialNumber;

    /** 所属科室 */
    @Excel(name = "所属科室")
    private String department;

    /** 设备位置 */
    @Excel(name = "设备位置")
    private String location;

    /** 设备状态（0正常 1维修中 2停用） */
    @Excel(name = "设备状态", readConverterExp = "0=正常,1=维修中,2=停用")
    private String status;

    /** 租户ID */
    private Long tenantId;

    /** 备注 */
    private String remark;

    public void setDeviceId(Long deviceId)
    {
        this.deviceId = deviceId;
    }

    public Long getDeviceId()
    {
        return deviceId;
    }
    public void setDeviceName(String deviceName)
    {
        this.deviceName = deviceName;
    }

    public String getDeviceName()
    {
        return deviceName;
    }
    public void setBrandModel(String brandModel)
    {
        this.brandModel = brandModel;
    }

    public String getBrandModel()
    {
        return brandModel;
    }
    public void setTypeId(Long typeId)
    {
        this.typeId = typeId;
    }

    public Long getTypeId()
    {
        return typeId;
    }
    public void setProductionDate(Date productionDate)
    {
        this.productionDate = productionDate;
    }

    public Date getProductionDate()
    {
        return productionDate;
    }
    public void setPurchaseDate(Date purchaseDate)
    {
        this.purchaseDate = purchaseDate;
    }

    public Date getPurchaseDate()
    {
        return purchaseDate;
    }
    public void setSerialNumber(String serialNumber)
    {
        this.serialNumber = serialNumber;
    }

    public String getSerialNumber()
    {
        return serialNumber;
    }
    public void setDepartment(String department)
    {
        this.department = department;
    }

    public String getDepartment()
    {
        return department;
    }
    public void setLocation(String location)
    {
        this.location = location;
    }

    public String getLocation()
    {
        return location;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setTenantId(Long tenantId)
    {
        this.tenantId = tenantId;
    }

    public Long getTenantId()
    {
        return tenantId;
    }
    public void setRemark(String remark)
    {
        this.remark = remark;
    }

    public String getRemark()
    {
        return remark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("deviceId", getDeviceId())
            .append("deviceName", getDeviceName())
            .append("brandModel", getBrandModel())
            .append("typeId", getTypeId())
            .append("productionDate", getProductionDate())
            .append("purchaseDate", getPurchaseDate())
            .append("serialNumber", getSerialNumber())
            .append("department", getDepartment())
            .append("location", getLocation())
            .append("status", getStatus())
            .append("tenantId", getTenantId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
